This invention relates to synchronising clocks.
Time synchronisation in computer and communication systems is important for performing time-sensitive tasks. A lack of synchronisation between devices may lead to various problems. For example, in a wireless media system, a lack of synchronisation between different media playout devices (e.g. speakers) in the system may cause playback of the media to be out-of-sync. Other time-sensitive tasks where accurate synchronisation is critical include synchronising times for communicating (e.g. in time division multiple access communication systems), accurate time-stamping (e.g. for high-frequency trading), timing for global navigation satellite systems, etc.
A lack of synchronisation between devices may be caused by slight differences between the clocks running at those devices. Even when clocks are initially set accurately, they will differ after some amount of time due to clock drift, which may be caused by, for example, the clocks counting time at slightly different rates, environmental factors such as temperature differences, relativistic effects, etc. There is, therefore, a need to synchronise the clocks at different devices and maintain synchronisation over time.